package zzxkj.blog.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import zzxkj.blog.pojo.Comment;

import java.util.List;

/**
 * Mapper
 * @author zzxkj
 */
@Repository
public interface CommentDao {

    /**
     * 根据blogId查询
     * @param blogId
     * @return
     */
    List<Comment> findByBlogId(Long blogId);

    /**
     * CommentId
     * @param id
     * @return
     */
    Comment findByCommentId(Long id);

    /**
     * 根据创建时间倒序来排
     * @param blogId
     * @param blogParentId
     * @return
     */
    List<Comment> findByBlogIdParentIdNull(@Param("blogId") Long blogId, @Param("blogParentId") Long blogParentId);

    /**
     * 获取博客的顶级评论
     * @param BlogId
     * @return
     */
    List<Comment> listTopCommentByBlogId(Long BlogId);

    /**
     * 获取该顶级评论的子评论
     * @param parentId
     * @return
     */
    List<Comment> listChildCommentByBlogId(Long parentId);

    /**
     * 添加一个评论
     * @param comment
     * @return
     */
    int saveComment(Comment comment);

    /**
     * 获取当天的浏览量
     * @return
     */
    Integer getNowDayCommentsCount();

    /**
     * 获取近7天评论量
     * @return
     */
    List<Object> getDayCommentsCountOf7Days();
}
